17.4 Der Dialog »FolderBrowserDialog«
 
Mit OpenFileDialog können Sie eine bestimmte Datei auswählen. Das Steuerelement bietet jedoch keine Möglichkeit, die Wahl auf einen Ordner zu beschränken. Dafür stellt das .NET Framework ein anderes Steuerelement zur Verfügung: FolderBrowserDialog. Etwas enttäuschend ist das Layout des Dialogs. Während uns in anderen Anwendungen ein Dialog ähnlich dem des Dialogs zum Öffnen einer Datei angeboten wird (unter anderem auch von Visual Studio), präsentiert sich die Oberfläche eines FolderBrowserDialog-Objekts nach dem Aufruf der Methode ShowDialog ziemlich spartanisch.
 Hier klicken, um das Bild zu vergrößern
Abbildung 17.7 Das »FolderBrowserDialog«-Fenster
Die Einflussnahme auf die Anzeige des Dialogs ist auch nur in einem sehr begrenzten Rahmen möglich. Oberhalb des Anzeigebereichs können Sie einen Text ausgeben. Die entsprechende Zeichenfolge weisen Sie der Eigenschaft Description zu, z.B.:
| string str = "Wählen Sie einen Ordner.\n";
|
| str += "Bestätigen Sie Ihre Wahl anschließend mit 'OK'";
|
| folderBrowserDialog1.Description = str;
|
Standardmäßig kann ein Anwender aus allen lokalen oder sich im Netzwerk befindlichen Ordnern auswählen. Mit der Eigenschaft RootFolder kann ein anderer Ordner zum Stammordner des Dialogs gemacht werden. Allerdings ist keine beliebige Angabe möglich, denn die Eigenschaft erwartet eine Konstante der Enumeration Environment.SpecialFolder. In Tabelle 17.1 finden Sie einen Auszug aus der Member-Liste dieser Enumeration. Nur der Stammordner sowie sich darunter befindliche Unterordner werden im Dialogfeld angezeigt und können ausgewählt werden.
Wollen Sie es dem Benutzer nicht erlauben, einen neuen Ordner mit der Schaltfläche Neuer Ordner anzulegen, müssen Sie die Schaltfläche ausblenden. Dazu dient die Eigenschaft ShowNewFolderButton, der Sie dann false übergeben müssen.
Damit sind auch schon alle Möglichkeiten erschöpft. Die Pfadangabe des ausgewählten Ordners kann nach dem Schließen des Dialogs mit der Eigenschaft SelectedPath ausgewertet werden, die vom Typ string ist. |